<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        window.onload=function(){
            /*原型链继承*/
            // function Person(){
            //   this.name="刘德华";
            //   this.age=12;
            //   this.love=['游泳']
            // }
            // Person.prototype.getMark=function(){
            // return "不好意思，暂时不能查看成绩"
            // }
            // function Son(){};
            // Son.prototype=new Person()
            // const bigSon=new Son()
            // bigSon.name="张学友"
            // bigSon.love.push("跳舞")
            // console.log(bigSon.name)
            // console.log(bigSon.age)
            // console.log(bigSon.love)
            // console.log(bigSon.getMark())
            // console.log("-------------")
            // const xiaoSon=new Son()
            // console.log(xiaoSon.name)
            // console.log(xiaoSon.age)
            // console.log(xiaoSon.love)

            /*构造继承*/
            // function Person(){
            //     this.name='张三'
            //     this.age=18
            //     this.love=['游泳']
            //     this.getName=function(){
            //         return this.name+8
            //     }
            // }
            // // Person.prototype.getMark=function(){
            // //    return 123
            // // }
            // function Son(){
            //     Person.call(this)
            // }
            // Son.prototype=new Person()
            // const bigSon=new Son()
            // console.log(bigSon.name)
            // console.log(bigSon.getName())
            // console.log(bigSon.getMark())

            /*寄生组合继承*/
            // function Person(){
            //     this.name='张三'
            //     this.age=18
            //     this.love=['游泳']
            //     this.getName=function(){
            //         return this.name+8
            //     }
            // }
            // Person.prototype.getMark=function(){
            //    return 123
            // }
            // function Son(){
            //     Person.call(this)
            // }
            // const Fn=function(){}
            // Fn.prototype=Person.prototype/*中转站*/
            // Son.prototype=new Fn()
            // const bigSon=new Son()
            // bigSon.love.push("吃饭")
            // console.log(bigSon.name)
            // console.log(bigSon.getName())
            // console.log(bigSon.getMark())
            // console.log(bigSon.love)
            // console.log("-------")
            // const xiaoSon=new Son()
            // bigSon.love.push("吃饭")
            // console.log(xiaoSon.name)
            // console.log(xiaoSon.getName())
            // console.log(xiaoSon.getMark())
            // console.log(xiaoSon.love)
        /*es6继承*/
        class Person{
            constructor(){
                this.name='刘德华'
                this.age=18
                this.sports=['跑步']
                this.getName=function(){
                    return this.name
                }
            }
            getMart=()=>{
                return "成绩不合格，好好学习"
            }
        }
        class Student extends Person{}
        const stu1=new Student()
        stu1.name='张学友'
        stu1.sports.push("游泳")
        console.log(stu1.name)
        console.log(stu1.age)
        console.log(stu1.sports)
        console.log(stu1.getName())
        console.log(stu1.getMart())

        console.log("----------")

        const stu2=new Student()
        console.log(stu2.name)
        console.log(stu2.age)
        console.log(stu2.sports)
        console.log(stu2.getName())
        console.log(stu2.getMart())
        console.log(1111,stu2)
        console.log(22222,stu2.__proto__)
        }
    </script>
</head>
<body>
    
</body>
</html>